home *** CD-ROM | disk | FTP | other *** search
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- xfs_repair - repair an XFS filesystem
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr [ ----nnnn ] [ ----LLLL ] [ ----oooo subopt[=value] ] xfs_special
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr ----ffff [ ----nnnn ] [ ----LLLL ] [ ----oooo subopt[=value] ] ... file
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr66664444 [ ----nnnn ] [ ----LLLL ] [ ----oooo subopt[=value] ] xfs_special
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr66664444 ----ffff [ ----nnnn ] [ ----LLLL ] [ ----oooo subopt[=value] ] ... file
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _x_f_s__r_e_p_a_i_r repairs corrupt or damaged XFS filesystems (see _x_f_s(4)).
- _x_f_s__r_e_p_a_i_r does not work on EFS filesystems (see _f_s_c_k(1M)). The
- filesystem is specified using the _x_f_s__s_p_e_c_i_a_l argument which should be
- the device name of the disk partition or volume containing the
- filesystem. If given the name of a block device, _x_f_s__r_e_p_a_i_r will attempt
- to find the raw device associated with the specified block device and
- will use the raw device instead.
-
- Regardless, the filesystem to be repaired must be unmounted, otherwise,
- the resulting filesystem may be inconsistent or corrupt.
-
- xfs_repair is an n32 binary and will run on all Irix platforms. However,
- when repairing a multi-terabyte filesystem, the memory requirements
- exceed what is available to n32 binaries. For those filesystems,
- xfs_repair64, 64-bit binary, should be used.
-
- The options to _x_f_s__r_e_p_a_i_r are:
-
- ----ffff Specifies that the special device is actually a file (see the
- _m_k_f_s__x_f_s ----dddd _f_i_l_e option). This might happen if an image copy of a
- filesystem has been copied or written into an ordinary file.
-
- ----LLLL Force Log Zeroing. Forces _x_f_s__r_e_p_a_i_r to zero the log even if there
- is metadata in it. When using this option the filesystem will
- likely appear to be corrupt, and can cause the loss of user files
- and/or data.
-
- ----nnnn No modify mode. Specifies that _x_f_s__r_e_p_a_i_r should not modify the
- filesystem but should only scan the filesystem and indicate what
- repairs would have been made.
-
- ----oooo Override what the program might conclude about the filesystem if
- left to its own devices.
-
- The aaaassssssssuuuummmmeeee____xxxxffffssss suboption specifies that the filesystem is an XFS
- filesystem. Normally, if _x_f_s__r_e_p_a_i_r cannot find an XFS superblock,
- it checks to see if the filesystem is an EFS filesystem before it
- tries to regenerate the XFS superblock. If the aaaassssssssuuuummmmeeee____xxxxffffssss option is
- in effect, _x_f_s__r_e_p_a_i_r will assume that the filesystem is an XFS
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- filesystem and will ignore an EFS superblock if one is found.
-
- CCCChhhheeeecccckkkkssss PPPPeeeerrrrffffoooorrrrmmmmeeeedddd
- Inconsistencies corrected include the following:
-
- 1. Inode and inode blockmap (addressing) checks: bad magic number in
- inode, bad magic numbers in inode blockmap blocks, extents out of
- order, incorrect number of records in inode blockmap blocks, blocks
- claimed that are not in a legal data area of the filesystem, blocks
- that are claimed by more than one inode.
-
- 2. Inode allocation map checks: bad magic number in inode map blocks,
- inode state as indicated by map (free or in-use) inconsistent with
- state indicated by the inode, inodes referenced by the filesystem
- that do not appear in the inode allocation map, inode allocation map
- referencing blocks that do not appear to contain inodes.
-
- 3. Size checks: number of blocks claimed by inode inconsistent with
- inode size, directory size not block aligned, inode size not
- consistent with inode format.
-
- 4. Directory checks: bad magic numbers in directory blocks, incorrect
- number of entries in a directory block, bad freespace information in
- a directory leaf block, entry pointing to an unallocated (free) or
- out of range inode, overlapping entries, missing or incorrect dot
- and dotdot entries, entries out of hashvalue order, incorrect
- internal directory pointers, directory type not consistent with
- inode format and size.
-
- 5. Pathname checks: files or directories not referenced by a pathname
- starting from the filesystem root, illegal pathname components.
-
- 6. Link count checks: link counts that do not agree with the number of
- directory references to the inode.
-
- 7. Freemap checks: blocks claimed free by the freemap but also claimed
- by an inode, blocks unclaimed by any inode but not appearing in the
- freemap.
-
- 8. Super Block checks: total free block and/or free i-node count
- incorrect, filesystem geometry inconsistent, secondary and primary
- superblocks contradictory.
-
- Orphaned files and directories (allocated, in-use but unreferenced) are
- reconnected by placing them in the _l_o_s_t+_f_o_u_n_d directory. The name
- assigned is the inode number.
-
- DDDDiiiisssskkkk EEEErrrrrrrroooorrrrssss
- _x_f_s__r_e_p_a_i_r aborts on most disk I/O errors. Therefore, if you are trying
- to repair a filesystem that was damaged due to a disk drive failure,
- steps should be taken to ensure that all blocks in the filesystem are
- readable and writeable before attempting to use _x_f_s__r_e_p_a_i_r to repair the
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- filesystem. Possible methods include using _d_d(1M) to copy the data onto
- a good disk or _f_x(1M) to remap bad blocks if the block numbers are known.
- _f_x(1M), if used, should be used with extreme caution.
-
- lllloooosssstttt++++ffffoooouuuunnnndddd
- The directory _l_o_s_t+_f_o_u_n_d does not have to already exist in the filesystem
- being repaired. If the directory does not exist, it is automatically
- created. If the _l_o_s_t+_f_o_u_n_d directory already exists, the _l_o_s_t+_f_o_u_n_d
- directory is deleted and recreated every time _x_f_s__r_e_p_a_i_r runs. This
- ensures that there are no name conflicts in _l_o_s_t+_f_o_u_n_d. However, if you
- rename a file in _l_o_s_t+_f_o_u_n_d and leave it there, if _x_f_s__r_e_p_a_i_r is run
- again, that file is renamed back to its inode number.
-
- CCCCoooorrrrrrrruuuupppptttteeeedddd SSSSuuuuppppeeeerrrrbbbblllloooocccckkkkssss
- XFS has both primary and secondary superblocks. _x_f_s__r_e_p_a_i_r uses
- information in the primary superblock to automatically find and validate
- the primary superblock against the secondary superblocks before
- proceeding. Should the primary be too corrupted to be useful in locating
- the secondary superblocks, the program scans the filesystem until it
- finds and validates some secondary superblocks. At that point, it
- generates a primary superblock.
-
- QQQQuuuuoooottttaaaassss
- If quotas are in use, it is possible that _x_f_s__r_e_p_a_i_r will clear some or
- all of the filesystem quota information. If so, the program issues a
- warning just before it terminates. If all quota information is lost,
- quotas are disabled and the program issues a warning to that effect.
-
- Note that _x_f_s__r_e_p_a_i_r does not check the validity of quota limits. It is
- recommended that you check the quota limit information manually after
- _x_f_s__r_e_p_a_i_r. Also, space usage information is automatically regenerated
- the next time the filesystem is mounted with quotas turned on, so the
- next quota mount of the filesystem may take some time.
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- _x_f_s__r_e_p_a_i_r issues informative messages as it proceeds indicating what it
- has found that is abnormal or any corrective action that it has taken.
- Most of the messages are completely understandable only to those who are
- knowledgeable about the structure of the filesystem. Some of the more
- common messages are explained here. Note that the language of the
- messages is slightly different if _x_f_s__r_e_p_a_i_r is run in no-modify mode
- because the program is not changing anything on disk. No-modify mode
- indicates what it would do to repair the filesystem if run without the
- no-modify flag.
-
- disconnected inode xxxxxxxxxxxxxxxx, moving to _l_o_s_t+_f_o_u_n_d
-
- An inode numbered xxxxxxxxxxxxxxxx was not connected to the filesystem directory
- tree and was reconnected to the _l_o_s_t+_f_o_u_n_d directory. The inode is
- assigned the name of its inode number (i-number). If a _l_o_s_t+_f_o_u_n_d
- directory does not exist, it is automatically created.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- disconnected dir inode xxxxxxxxxxxxxxxx, moving to _l_o_s_t+_f_o_u_n_d
-
- As above only the inode is a directory inode. If a directory inode
- is attached to _l_o_s_t+_f_o_u_n_d, all of its children (if any) stay
- attached to the directory and therefore get automatically
- reconnected when the directory is reconnected.
-
- imap claims in-use inode xxxxxxxxxxxxxxxx is free, correcting imap
-
- The inode allocation map thinks that inode xxxxxxxxxxxxxxxx is free whereas
- examination of the inode indicates that the inode may be in use
- (although it may be disconnected). The program updates the inode
- allocation map.
-
- imap claims free inode xxxxxxxxxxxxxxxx is in use, correcting imap
-
- The inode allocation map thinks that inode xxxxxxxxxxxxxxxx is in use whereas
- examination of the inode indicates that the inode is not in use and
- therefore is free. The program updates the inode allocation map.
-
- resetting inode xxxxxxxxxxxxxxxx nlinks from xxxx to yyyy
-
- The program detected a mismatch between the number of valid
- directory entries referencing inode xxxxxxxxxxxxxxxx and the number of
- references recorded in the inode and corrected the the number in the
- inode.
-
- ffffoooorrrrkkkk----ttttyyyyppppeeee fork in ino xxxxxxxxxxxxxxxx claims used block yyyyyyyyyyyyyyyy
-
- Inode xxxxxxxxxxxxxxxx claims a block yyyyyyyyyyyyyyyy that is used (claimed) by either
- another inode or the filesystem itself for metadata storage. The
- ffffoooorrrrkkkk----ttttyyyyppppeeee is either ddddaaaattttaaaa or aaaattttttttrrrr indicating whether the problem lies
- in the portion of the inode that tracks regular data or the portion
- of the inode that stores XFS attributes. If the inode is a real-
- time (rt) inode, the message says so. Any inode that claims blocks
- used by the filesystem is deleted. If two or more inodes claim the
- same block, they are both deleted.
-
- ffffoooorrrrkkkk----ttttyyyyppppeeee fork in ino xxxxxxxxxxxxxxxx claims dup extent ...
-
- Inode xxxxxxxxxxxxxxxx claims a block in an extent known to be claimed more than
- once. The offset in the inode, start and length of the extent is
- given. The message is slightly different if the inode is a real-
- time (rt) inode and the extent is therefore a real-time (rt) extent.
-
- inode xxxxxxxxxxxxxxxx - bad extent ...
-
- An extent record in the blockmap of inode xxxxxxxxxxxxxxxx claims blocks that
- are out of the legal range of the filesystem. The message supplies
- the start, end, and file offset of the extent. The message is
- slightly different if the extent is a real-time (rt) exent.
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- bad ffffoooorrrrkkkk----ttttyyyyppppeeee fork in inode xxxxxxxxxxxxxxxx
-
- There was something structurally wrong or inconsistent with the data
- structures that map offsets to filesystem blocks.
-
- cleared inode xxxxxxxxxxxxxxxx
-
- There was something wrong with the inode that was uncorrectable so
- the program freed the inode. This usually happens because the inode
- claims blocks that are used by something else or the inode itself is
- badly corrupted. Typically, this message is preceded by one or more
- messages indicating why the inode needed to be cleared.
-
- bad attribute fork in inode xxxxxxxxxxxxxxxx, clearing attr fork
-
- There was something wrong with the portion of the inode that stores
- XFS attributes (the attribute fork) so the program reset the
- attribute fork. As a result of this, all attributes on that inode
- are lost.
-
- correcting nextents for inode xxxxxxxxxxxxxxxx, was xxxx - counted yyyy
-
- The program found that the number of extents used to store the data
- in the inode is wrong and corrected the number. The message refers
- to nextents if the count is wrong on the number of extents used to
- store attribute information.
-
- entry """"nnnnaaaammmmeeee"""" in dir xxxxxxxxxxxxxxxx not consistent with .. value (yyyyyyyyyyyyyyyy) in dir ino
- xxxxxxxxxxxxxxxx, junking entry """"nnnnaaaammmmeeee"""" in directory inode xxxxxxxxxxxxxxxx
-
- The entry """"nnnnaaaammmmeeee"""" in directory inode xxxxxxxxxxxxxxxx references a directory
- inode yyyyyyyyyyyyyyyy. However, the .. entry in directory yyyyyyyyyyyyyyyy does not point
- back to directory xxxxxxxxxxxxxxxx, so the program deletes the entry """"nnnnaaaammmmeeee"""" in
- directory inode xxxxxxxxxxxxxxxx. If the directory inode yyyyyyyyyyyyyyyy winds up becoming
- a disconnected inode as a result of this, it is moved to _l_o_s_t+_f_o_u_n_d
- later.
-
- entry """"nnnnaaaammmmeeee"""" in dir xxxxxxxxxxxxxxxx references already connected dir ino yyyyyyyyyyyyyyyy,
- junking entry """"nnnnaaaammmmeeee"""" in directory inode xxxxxxxxxxxxxxxx
-
- The entry """"nnnnaaaammmmeeee"""" in directory inode xxxxxxxxxxxxxxxx points to a directory inode
- yyyyyyyyyyyyyyyy that is known to be a child of another directory. Therefore,
- the entry is invalid and is deleted. This message refers to an
- entry in a small directory. If this were a large directory, the
- last phrase would read "will clear entry".
-
- entry references free inode xxxxxxxxxxxxxxxx in directory yyyyyyyyyyyyyyyy, will clear entry
-
- An entry in directory inode yyyyyyyyyyyyyyyy references an inode xxxxxxxxxxxxxxxx that is
- known to be free. The entry is therefore invalid and is deleted.
- This message refers to a large directory. If the directory were
- small, the message would read "junking entry ...".
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-
-
-
- xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM)))) xxxxffffssss____rrrreeeeppppaaaaiiiirrrr((((1111MMMM))))
-
-
-
- EEEEXXXXIIIITTTT SSSSTTTTAAAATTTTUUUUSSSS
- _x_f_s__r_e_p_a_i_r -_n (no modify node) will return a status of 1 if filesystem
- corruption was detected and 0 if no filesystem corruption was detected.
- _x_f_s__r_e_p_a_i_r run without the -n option will always return a status code of
- 0.
-
- BBBBUUUUGGGGSSSS
- The filesystem to be checked and repaired must have been unmounted
- cleanly using normal system administration procedures (the umount command
- or system shutdown), not as a result of a crash or system reset. If the
- filesystem has not been unmounted cleanly, mount it and unmount it
- cleanly before running _x_f_s__r_e_p_a_i_r.
-
- _x_f_s__r_e_p_a_i_r does not do a thorough job on XFS extended attributes. The
- structure of the attribute fork will be consistent, but only the contents
- of attribute forks that will fit into an inode are checked. This
- limitation will be fixed in the future.
-
- The no-modify mode (----nnnn option) is not completely accurate. It does not
- catch inconsistencies in the freespace and inode maps, particularly lost
- blocks or subtly corrupted maps (trees).
-
- The no-modify mode can generate repeated warnings about the same problems
- because it cannot fix the problems as they are encountered.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- dd(1M), fx(1M), mkfs_xfs(1M), xfs_check(1M), xfs(4), xlv(7M).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 6666
-
-
-
-